package metamodel;


/**
 * Created by IntelliJ IDEA.
 * User: felix
 * Date: 30.05.2005
 * Time: 21:34:42
 * To change this template use File | Settings | File Templates.
 */
public abstract class DeepProperty extends Property {
    private ClassNode elementType;

    public DeepProperty(String name, ClassNode elementType) {
        super(name);
        this.elementType = elementType;
    }

    public DeepProperty() {
    }

    public String getTypeName(){
        return elementType.getTypeName();
    }

    /** Fremder, der Du diese Methode aufrufst, wisse was Du tust!*/
    public void setElementType(ClassNode elementType) {
        this.elementType = elementType;
    }

    public ClassNode getElementType() {
        return elementType;
    }
    public void setEnclosing(ClassNode enclosing) {
        super.setEnclosing(enclosing);
        elementType.setDeclaringParent(enclosing);
    }



}
